<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
  var a = 10
  var obj = {
    a: 20,
    say: () => {
      console.log('say',this.a) //? 这是箭头函数 所以是10
    },
    bark() {
      console.log('bark',this.a) //? 这是普通函数 this指向调用他的，所以指向obj 所以这里20
    }
  }
  obj.say()
  obj.bark()
  var anotherObj = { a: 30 }
  obj.say.apply(anotherObj) //? apply/call仍不能改变箭头函数的特性，它的this仍然是指向全局的，所以依旧会输出10
  obj.bark.apply(anotherObj) //? 改变了普通函数的this环境 所以30

</script>
</body>
</html>
